Android Activity 到 Service 类
全部标签 我刚刚读了AndroidArchitectureTutorial:DevelopinganAppwithaBackgroundService(usingIPC).基本上是让服务在单独的进程中运行。服务中将发生重复的计时器事件。在计时器事件处理程序中,它将执行网络以检索推文,并通知所有附加到它的监听器。监听器通过IPC附加到它。我可以看出这种方法有两个主要特征。推文检索操作在单独的进程中运行。它一直在运行,即使主要Activity已经退出。但是,如果“Italwaysrun”不是我的要求。当我退出主要Activity时,我希望一切都停止。如果我在主Activity中使用AsyncTask
到目前为止,我能够在一个安卓设备(wifi网络共享/热点)上启动一个服务器,让客户端(另一个安卓)连接并向服务器发送消息。然后服务器回复了那个。我意识到我需要一种方法来保持服务器监听客户端,即使聊天应用程序没有运行。客户端应该能够发送消息并且服务器应该接收到它。我应该使用Service还是IntentService来实现它?我不能从AsyncTask和Service扩展...如何实现它?一些示例代码会很棒。这是我的服务器的样子:publicclassServerextendsAsyncTask{privateServerSocketserverSocket;privateTextV
我正在使用startForeground()调用我的一项服务:NotificationCompat.BuildernotifBuilder=newNotificationCompat.Builder(this,"my_channel").setContentTitle("Loading");startForeground(1,notifBuilder.build());问题是,因为我正在使用我独特的通知channel并且它有振动:NotificationManagernotificationManager=(NotificationManager)context.getSystemSe
现在我再试一次。我想改变屏幕亮度。我试过:WindowManager.LayoutParamslayoutParams=getWindow().getAttributes();layoutParams.screenBrightness=0.5F;//set50%brightnessgetWindow().setAttributes(layoutParams);并且似乎在Activity中工作,但是当我在服务中时,我得到了getWindow()编译错误。 最佳答案 服务不能那样改变屏幕亮度。服务没有用户界面,所以它没有Window。您
我必须确保我的Service会运行,直到我显式调用stopService()。所以我应该从onStartCommand()返回START_STICKY标志。我还希望万一我的服务因为内存不足而被系统破坏,当系统重新创建它时-onStartCommand()将以最初启动服务的相同Intent被调用。因为这个原因-我想使用START_FLAG_REDELIVERY标志。根据文档-http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle,我所描述的肯定会发生(并且实际上发生在我身上)我知道我
在我的应用中,我直接使用SpeechRecognizer。我销毁了Activity的SpeechRecognizeronPause并在onResume方法中重新创建它,如下所示...publicclassNoUISpeechActivityextendsActivity{protectedstaticfinalStringCLASS_TAG="NoUISpeechActivity";privateSpeechRecognizersr;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedIns
我对这两种说法感到困惑。它们有什么区别,我什么时候可以使用它们?LayoutInflaterinflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);Viewv=inflater.inflate(R.layout.activity_custom_lists1,parent);和Viewv=getLayoutInflater().inflater.inflate(R.layout.activity_custom_lists1,parent); 最佳答案
我创建了一个IntentService如下:publicclassOrdersSyncServiceextendsIntentService{privatestaticfinalStringTAG=OrdersSyncService.class.getSimpleName();privateOrderorderObject;publicOrdersSyncService(){super("OrdersSyncService");}@OverrideprotectedvoidonHandleIntent(Intentintent){//Util.showToast(getApplicat
我尝试使用我的应用程序,其中包含AndroidBackupService的用法在AndroidEmulator上使用我自己的BackupAgent。但是备份不起作用,尽管在AndroidManifest.xml中写入了许可。权限:日志中的警告:09-1709:05:58.553:WARN/PackageManager(73):未授予android.permission.BACKUP打包my.package的权限(protectionLevel=3flags=0x1be46)日志异常(当我尝试调用requestRestore()时):java.lang.SecurityExcepti
尝试在Android上通过init.rc启动服务。servicename_of_my_service/path/to/my/serviceuserroot出现以下错误:init:Invalidservicenamename_of_my_service 最佳答案 您的服务名称太长(或包含无效字符)。服务名称的长度最多为16个字符,并且可以包含字母数字字符、“_”和“-”。https://android.googlesource.com/platform/system/core/+/android-4.2.2_r1.2/init/ini